/******************************************************************************
 *
 * Copyright(c) 2016 - 2017 Realtek Corporation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2 of the GNU General Public License as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 ******************************************************************************/

#ifndef _HALMAC_TX_DESC_IE_AP_H_
#define _HALMAC_TX_DESC_IE_AP_H_
#if (HALMAC_8814B_SUPPORT)

#define IE0_GET_TX_DESC_IE_END(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 31)
#define IE0_SET_TX_DESC_IE_END(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 31)
#define IE0_SET_TX_DESC_IE_END_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 31)
#define IE0_GET_TX_DESC_IE_UP(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 30)
#define IE0_SET_TX_DESC_IE_UP(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 30)
#define IE0_SET_TX_DESC_IE_UP_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 30)
#define IE0_GET_TX_DESC_IE_NUM(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0xf, 24)
#define IE0_SET_TX_DESC_IE_NUM(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 24)
#define IE0_SET_TX_DESC_IE_NUM_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 24)
#define IE0_GET_TX_DESC_ARFR_TABLE_SEL(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 19)
#define IE0_SET_TX_DESC_ARFR_TABLE_SEL(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 19)
#define IE0_SET_TX_DESC_ARFR_TABLE_SEL_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 19)
#define IE0_GET_TX_DESC_ARFR_HT_EN(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 18)
#define IE0_SET_TX_DESC_ARFR_HT_EN(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 18)
#define IE0_SET_TX_DESC_ARFR_HT_EN_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 18)
#define IE0_GET_TX_DESC_ARFR_OFDM_EN(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 17)
#define IE0_SET_TX_DESC_ARFR_OFDM_EN(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 17)
#define IE0_SET_TX_DESC_ARFR_OFDM_EN_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 17)
#define IE0_GET_TX_DESC_ARFR_CCK_EN(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 16)
#define IE0_SET_TX_DESC_ARFR_CCK_EN(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 16)
#define IE0_SET_TX_DESC_ARFR_CCK_EN_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 16)
#define IE0_GET_TX_DESC_HW_RTS_EN(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 9)
#define IE0_SET_TX_DESC_HW_RTS_EN(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 9)
#define IE0_SET_TX_DESC_HW_RTS_EN_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 9)
#define IE0_GET_TX_DESC_RTS_EN(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 8)
#define IE0_SET_TX_DESC_RTS_EN(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 8)
#define IE0_SET_TX_DESC_RTS_EN_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 8)
#define IE0_GET_TX_DESC_CTS2SELF(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 7)
#define IE0_SET_TX_DESC_CTS2SELF(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 7)
#define IE0_SET_TX_DESC_CTS2SELF_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 7)
#define IE0_GET_TX_DESC_RTY_LMT_EN(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 6)
#define IE0_SET_TX_DESC_RTY_LMT_EN(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 6)
#define IE0_SET_TX_DESC_RTY_LMT_EN_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 6)
#define IE0_GET_TX_DESC_RTS_SHORT(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 5)
#define IE0_SET_TX_DESC_RTS_SHORT(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 5)
#define IE0_SET_TX_DESC_RTS_SHORT_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 5)
#define IE0_GET_TX_DESC_DISDATAFB(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 4)
#define IE0_SET_TX_DESC_DISDATAFB(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 4)
#define IE0_SET_TX_DESC_DISDATAFB_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 4)
#define IE0_GET_TX_DESC_DISRTSFB(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 3)
#define IE0_SET_TX_DESC_DISRTSFB(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 3)
#define IE0_SET_TX_DESC_DISRTSFB_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 3)
#define IE0_GET_TX_DESC_DATA_SHORT(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 2)
#define IE0_SET_TX_DESC_DATA_SHORT(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 2)
#define IE0_SET_TX_DESC_DATA_SHORT_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 2)
#define IE0_GET_TX_DESC_TRY_RATE(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 1)
#define IE0_SET_TX_DESC_TRY_RATE(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 1)
#define IE0_SET_TX_DESC_TRY_RATE_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 1)
#define IE0_GET_TX_DESC_USERATE(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 0)
#define IE0_SET_TX_DESC_USERATE(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 0)
#define IE0_SET_TX_DESC_USERATE_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 0)
#define IE0_GET_TX_DESC_RTS_RTY_LOWEST_RATE(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0xf, 27)
#define IE0_SET_TX_DESC_RTS_RTY_LOWEST_RATE(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 27)
#define IE0_SET_TX_DESC_RTS_RTY_LOWEST_RATE_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 27)
#define IE0_GET_TX_DESC_DATA_RTY_LOWEST_RATE(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x1f, 22)
#define IE0_SET_TX_DESC_DATA_RTY_LOWEST_RATE(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1f, 22)
#define IE0_SET_TX_DESC_DATA_RTY_LOWEST_RATE_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1f, 22)
#define IE0_GET_TX_DESC_RTS_DATA_RTY_LMT(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x3f, 16)
#define IE0_SET_TX_DESC_RTS_DATA_RTY_LMT(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3f, 16)
#define IE0_SET_TX_DESC_RTS_DATA_RTY_LMT_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3f, 16)
#define IE0_GET_TX_DESC_DATA_BW(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x3, 12)
#define IE0_SET_TX_DESC_DATA_BW(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 12)
#define IE0_SET_TX_DESC_DATA_BW_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 12)
#define IE0_GET_TX_DESC_RTSRATE(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0xf, 7)
#define IE0_SET_TX_DESC_RTSRATE(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 7)
#define IE0_SET_TX_DESC_RTSRATE_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 7)
#define IE0_GET_TX_DESC_DATARATE(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x7f, 0)
#define IE0_SET_TX_DESC_DATARATE(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x7f, 0)
#define IE0_SET_TX_DESC_DATARATE_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x7f, 0)
#define IE1_GET_TX_DESC_IE_END(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 31)
#define IE1_SET_TX_DESC_IE_END(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 31)
#define IE1_SET_TX_DESC_IE_END_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 31)
#define IE1_GET_TX_DESC_IE_UP(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 30)
#define IE1_SET_TX_DESC_IE_UP(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 30)
#define IE1_SET_TX_DESC_IE_UP_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 30)
#define IE1_GET_TX_DESC_IE_NUM(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0xf, 24)
#define IE1_SET_TX_DESC_IE_NUM(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 24)
#define IE1_SET_TX_DESC_IE_NUM_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 24)
#define IE1_GET_TX_DESC_AMPDU_DENSITY(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x7, 21)
#define IE1_SET_TX_DESC_AMPDU_DENSITY(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x7, 21)
#define IE1_SET_TX_DESC_AMPDU_DENSITY_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x7, 21)
#define IE1_GET_TX_DESC_MAX_AGG_NUM(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1f, 16)
#define IE1_SET_TX_DESC_MAX_AGG_NUM(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1f, 16)
#define IE1_SET_TX_DESC_MAX_AGG_NUM_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1f, 16)
#define IE1_GET_TX_DESC_SECTYPE(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x3, 14)
#define IE1_SET_TX_DESC_SECTYPE(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x3, 14)
#define IE1_SET_TX_DESC_SECTYPE_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x3, 14)
#define IE1_GET_TX_DESC_MOREFRAG(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 13)
#define IE1_SET_TX_DESC_MOREFRAG(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 13)
#define IE1_SET_TX_DESC_MOREFRAG_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 13)
#define IE1_GET_TX_DESC_NOACM(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 12)
#define IE1_SET_TX_DESC_NOACM(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 12)
#define IE1_SET_TX_DESC_NOACM_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 12)
#define IE1_GET_TX_DESC_BCNPKT_TSF_CTRL(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 11)
#define IE1_SET_TX_DESC_BCNPKT_TSF_CTRL(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 11)
#define IE1_SET_TX_DESC_BCNPKT_TSF_CTRL_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 11)
#define IE1_GET_TX_DESC_NAVUSEHDR(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 10)
#define IE1_SET_TX_DESC_NAVUSEHDR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 10)
#define IE1_SET_TX_DESC_NAVUSEHDR_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 10)
#define IE1_GET_TX_DESC_HTC(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 9)
#define IE1_SET_TX_DESC_HTC(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 9)
#define IE1_SET_TX_DESC_HTC_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 9)
#define IE1_GET_TX_DESC_BMC(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 8)
#define IE1_SET_TX_DESC_BMC(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 8)
#define IE1_SET_TX_DESC_BMC_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 8)
#define IE1_GET_TX_DESC_TX_PKT_AFTER_PIFS(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 7)
#define IE1_SET_TX_DESC_TX_PKT_AFTER_PIFS(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 7)
#define IE1_SET_TX_DESC_TX_PKT_AFTER_PIFS_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 7)
#define IE1_GET_TX_DESC_USE_MAX_TIME_EN(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 6)
#define IE1_SET_TX_DESC_USE_MAX_TIME_EN(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 6)
#define IE1_SET_TX_DESC_USE_MAX_TIME_EN_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 6)
#define IE1_GET_TX_DESC_HW_SSN_SEL(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x3, 4)
#define IE1_SET_TX_DESC_HW_SSN_SEL(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x3, 4)
#define IE1_SET_TX_DESC_HW_SSN_SEL_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x3, 4)
#define IE1_GET_TX_DESC_DISQSELSEQ(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 3)
#define IE1_SET_TX_DESC_DISQSELSEQ(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 3)
#define IE1_SET_TX_DESC_DISQSELSEQ_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 3)
#define IE1_GET_TX_DESC_EN_HWSEQ(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 2)
#define IE1_SET_TX_DESC_EN_HWSEQ(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 2)
#define IE1_SET_TX_DESC_EN_HWSEQ_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 2)
#define IE1_GET_TX_DESC_EN_HWEXSEQ(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 1)
#define IE1_SET_TX_DESC_EN_HWEXSEQ(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 1)
#define IE1_SET_TX_DESC_EN_HWEXSEQ_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 1)
#define IE1_GET_TX_DESC_EN_DESC_ID(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 0)
#define IE1_SET_TX_DESC_EN_DESC_ID(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 0)
#define IE1_SET_TX_DESC_EN_DESC_ID_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 0)
#define IE1_GET_TX_DESC_AMPDU_MAX_TIME(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0xff, 24)
#define IE1_SET_TX_DESC_AMPDU_MAX_TIME(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xff, 24)
#define IE1_SET_TX_DESC_AMPDU_MAX_TIME_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xff, 24)
#define IE1_GET_TX_DESC_P_AID(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x1ff, 15)
#define IE1_SET_TX_DESC_P_AID(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1ff, 15)
#define IE1_SET_TX_DESC_P_AID_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1ff, 15)
#define IE1_GET_TX_DESC_MOREDATA(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x1, 14)
#define IE1_SET_TX_DESC_MOREDATA(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1, 14)
#define IE1_SET_TX_DESC_MOREDATA_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1, 14)
#define IE1_GET_TX_DESC_SW_SEQ(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0xfff, 0)
#define IE1_SET_TX_DESC_SW_SEQ(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xfff, 0)
#define IE1_SET_TX_DESC_SW_SEQ_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xfff, 0)
#define IE2_GET_TX_DESC_IE_END(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 31)
#define IE2_SET_TX_DESC_IE_END(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 31)
#define IE2_SET_TX_DESC_IE_END_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 31)
#define IE2_GET_TX_DESC_IE_UP(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 30)
#define IE2_SET_TX_DESC_IE_UP(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 30)
#define IE2_SET_TX_DESC_IE_UP_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 30)
#define IE2_GET_TX_DESC_IE_NUM(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0xf, 24)
#define IE2_SET_TX_DESC_IE_NUM(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 24)
#define IE2_SET_TX_DESC_IE_NUM_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 24)
#define IE2_GET_TX_DESC_ADDR_CAM(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0xff, 16)
#define IE2_SET_TX_DESC_ADDR_CAM(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xff, 16)
#define IE2_SET_TX_DESC_ADDR_CAM_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xff, 16)
#define IE2_GET_TX_DESC_MULTIPLE_PORT(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x7, 12)
#define IE2_SET_TX_DESC_MULTIPLE_PORT(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x7, 12)
#define IE2_SET_TX_DESC_MULTIPLE_PORT_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x7, 12)
#define IE2_GET_TX_DESC_RAW(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 11)
#define IE2_SET_TX_DESC_RAW(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 11)
#define IE2_SET_TX_DESC_RAW_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 11)
#define IE2_GET_TX_DESC_RDG_EN(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 10)
#define IE2_SET_TX_DESC_RDG_EN(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 10)
#define IE2_SET_TX_DESC_RDG_EN_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 10)
#define IE2_GET_TX_DESC_SPECIAL_CW(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 7)
#define IE2_SET_TX_DESC_SPECIAL_CW(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 7)
#define IE2_SET_TX_DESC_SPECIAL_CW_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 7)
#define IE2_GET_TX_DESC_POLLUTED(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 6)
#define IE2_SET_TX_DESC_POLLUTED(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 6)
#define IE2_SET_TX_DESC_POLLUTED_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 6)
#define IE2_GET_TX_DESC_BT_NULL(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 5)
#define IE2_SET_TX_DESC_BT_NULL(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 5)
#define IE2_SET_TX_DESC_BT_NULL_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 5)
#define IE2_GET_TX_DESC_NULL_1(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 4)
#define IE2_SET_TX_DESC_NULL_1(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 4)
#define IE2_SET_TX_DESC_NULL_1_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 4)
#define IE2_GET_TX_DESC_NULL_0(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 3)
#define IE2_SET_TX_DESC_NULL_0(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 3)
#define IE2_SET_TX_DESC_NULL_0_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 3)
#define IE2_GET_TX_DESC_TRI_FRAME(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 2)
#define IE2_SET_TX_DESC_TRI_FRAME(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 2)
#define IE2_SET_TX_DESC_TRI_FRAME_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 2)
#define IE2_GET_TX_DESC_SPE_RPT(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 1)
#define IE2_SET_TX_DESC_SPE_RPT(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 1)
#define IE2_SET_TX_DESC_SPE_RPT_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 1)
#define IE2_GET_TX_DESC_FTM_EN(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 0)
#define IE2_SET_TX_DESC_FTM_EN(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 0)
#define IE2_SET_TX_DESC_FTM_EN_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 0)
#define IE2_GET_TX_DESC_MBSSID(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0xf, 27)
#define IE2_SET_TX_DESC_MBSSID(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 27)
#define IE2_SET_TX_DESC_MBSSID_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 27)
#define IE2_GET_TX_DESC_GROUP_BIT_IE_OFFSET(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x7ff, 16)
#define IE2_SET_TX_DESC_GROUP_BIT_IE_OFFSET(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x7ff, 16)
#define IE2_SET_TX_DESC_GROUP_BIT_IE_OFFSET_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x7ff, 16)
#define IE2_GET_TX_DESC_RDG_NAV_EXT(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x1, 15)
#define IE2_SET_TX_DESC_RDG_NAV_EXT(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1, 15)
#define IE2_SET_TX_DESC_RDG_NAV_EXT_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1, 15)
#define IE2_GET_TX_DESC_DROP_ID(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x3, 12)
#define IE2_SET_TX_DESC_DROP_ID(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 12)
#define IE2_SET_TX_DESC_DROP_ID_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 12)
#define IE2_GET_TX_DESC_SW_DEFINE(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0xfff, 0)
#define IE2_SET_TX_DESC_SW_DEFINE(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xfff, 0)
#define IE2_SET_TX_DESC_SW_DEFINE_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xfff, 0)
#define IE3_GET_TX_DESC_IE_END(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 31)
#define IE3_SET_TX_DESC_IE_END(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 31)
#define IE3_SET_TX_DESC_IE_END_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 31)
#define IE3_GET_TX_DESC_IE_UP(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 30)
#define IE3_SET_TX_DESC_IE_UP(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 30)
#define IE3_SET_TX_DESC_IE_UP_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 30)
#define IE3_GET_TX_DESC_IE_NUM(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0xf, 24)
#define IE3_SET_TX_DESC_IE_NUM(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 24)
#define IE3_SET_TX_DESC_IE_NUM_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 24)
#define IE3_GET_TX_DESC_DATA_SC(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0xf, 20)
#define IE3_SET_TX_DESC_DATA_SC(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 20)
#define IE3_SET_TX_DESC_DATA_SC_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 20)
#define IE3_GET_TX_DESC_SIGNALING_TA_PKT_SC(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0xf, 16)
#define IE3_SET_TX_DESC_SIGNALING_TA_PKT_SC(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 16)
#define IE3_SET_TX_DESC_SIGNALING_TA_PKT_SC_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 16)
#define IE3_GET_TX_DESC_CTRL_CNT(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0xf, 8)
#define IE3_SET_TX_DESC_CTRL_CNT(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 8)
#define IE3_SET_TX_DESC_CTRL_CNT_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 8)
#define IE3_GET_TX_DESC_CTRL_CNT_VALID(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 1)
#define IE3_SET_TX_DESC_CTRL_CNT_VALID(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 1)
#define IE3_SET_TX_DESC_CTRL_CNT_VALID_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 1)
#define IE3_GET_TX_DESC_SIGNALING_TA_PKT_EN(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 0)
#define IE3_SET_TX_DESC_SIGNALING_TA_PKT_EN(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 0)
#define IE3_SET_TX_DESC_SIGNALING_TA_PKT_EN_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 0)
#define IE3_GET_TX_DESC_G_ID(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x3f, 24)
#define IE3_SET_TX_DESC_G_ID(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3f, 24)
#define IE3_SET_TX_DESC_G_ID_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3f, 24)
#define IE3_GET_TX_DESC_SND_TARGET(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0xff, 16)
#define IE3_SET_TX_DESC_SND_TARGET(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xff, 16)
#define IE3_SET_TX_DESC_SND_TARGET_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xff, 16)
#define IE3_GET_TX_DESC_CCA_RTS(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x3, 11)
#define IE3_SET_TX_DESC_CCA_RTS(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 11)
#define IE3_SET_TX_DESC_CCA_RTS_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 11)
#define IE3_GET_TX_DESC_SND_PKT_SEL(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x3, 9)
#define IE3_SET_TX_DESC_SND_PKT_SEL(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 9)
#define IE3_SET_TX_DESC_SND_PKT_SEL_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 9)
#define IE3_GET_TX_DESC_NDPA(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x3, 7)
#define IE3_SET_TX_DESC_NDPA(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 7)
#define IE3_SET_TX_DESC_NDPA_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 7)
#define IE3_GET_TX_DESC_MU_DATARATE(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x7f, 0)
#define IE3_SET_TX_DESC_MU_DATARATE(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x7f, 0)
#define IE3_SET_TX_DESC_MU_DATARATE_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x7f, 0)
#define IE4_GET_TX_DESC_IE_END(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 31)
#define IE4_SET_TX_DESC_IE_END(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 31)
#define IE4_SET_TX_DESC_IE_END_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 31)
#define IE4_GET_TX_DESC_IE_UP(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 30)
#define IE4_SET_TX_DESC_IE_UP(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 30)
#define IE4_SET_TX_DESC_IE_UP_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 30)
#define IE4_GET_TX_DESC_IE_NUM(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0xf, 24)
#define IE4_SET_TX_DESC_IE_NUM(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 24)
#define IE4_SET_TX_DESC_IE_NUM_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 24)
#define IE4_GET_TX_DESC_VCS_STBC(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x3, 10)
#define IE4_SET_TX_DESC_VCS_STBC(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x3, 10)
#define IE4_SET_TX_DESC_VCS_STBC_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x3, 10)
#define IE4_GET_TX_DESC_DATA_STBC(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x3, 8)
#define IE4_SET_TX_DESC_DATA_STBC(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x3, 8)
#define IE4_SET_TX_DESC_DATA_STBC_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x3, 8)
#define IE4_GET_TX_DESC_DATA_LDPC(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 2)
#define IE4_SET_TX_DESC_DATA_LDPC(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 2)
#define IE4_SET_TX_DESC_DATA_LDPC_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 2)
#define IE4_GET_TX_DESC_GF(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 1)
#define IE4_SET_TX_DESC_GF(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 1)
#define IE4_SET_TX_DESC_GF_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 1)
#define IE4_GET_TX_DESC_LSIG_TXOP_EN(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 0)
#define IE4_SET_TX_DESC_LSIG_TXOP_EN(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 0)
#define IE4_SET_TX_DESC_LSIG_TXOP_EN_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 0)
#define IE4_GET_TX_DESC_PATH_MAPA(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x3, 30)
#define IE4_SET_TX_DESC_PATH_MAPA(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 30)
#define IE4_SET_TX_DESC_PATH_MAPA_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 30)
#define IE4_GET_TX_DESC_PATH_MAPB(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x3, 28)
#define IE4_SET_TX_DESC_PATH_MAPB(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 28)
#define IE4_SET_TX_DESC_PATH_MAPB_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 28)
#define IE4_GET_TX_DESC_PATH_MAPC(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x3, 26)
#define IE4_SET_TX_DESC_PATH_MAPC(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 26)
#define IE4_SET_TX_DESC_PATH_MAPC_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 26)
#define IE4_GET_TX_DESC_PATH_MAPD(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x3, 24)
#define IE4_SET_TX_DESC_PATH_MAPD(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 24)
#define IE4_SET_TX_DESC_PATH_MAPD_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 24)
#define IE4_GET_TX_DESC_ANTSEL_A(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0xf, 20)
#define IE4_SET_TX_DESC_ANTSEL_A(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 20)
#define IE4_SET_TX_DESC_ANTSEL_A_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 20)
#define IE4_GET_TX_DESC_ANTSEL_B(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0xf, 16)
#define IE4_SET_TX_DESC_ANTSEL_B(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 16)
#define IE4_SET_TX_DESC_ANTSEL_B_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 16)
#define IE4_GET_TX_DESC_ANTSEL_C(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0xf, 12)
#define IE4_SET_TX_DESC_ANTSEL_C(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 12)
#define IE4_SET_TX_DESC_ANTSEL_C_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 12)
#define IE4_GET_TX_DESC_ANTSEL_D(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0xf, 8)
#define IE4_SET_TX_DESC_ANTSEL_D(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 8)
#define IE4_SET_TX_DESC_ANTSEL_D_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 8)
#define IE4_GET_TX_DESC_NTX_PATH_EN(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0xf, 4)
#define IE4_SET_TX_DESC_NTX_PATH_EN(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 4)
#define IE4_SET_TX_DESC_NTX_PATH_EN_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0xf, 4)
#define IE4_GET_TX_DESC_ANTLSEL_EN(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x1, 3)
#define IE4_SET_TX_DESC_ANTLSEL_EN(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1, 3)
#define IE4_SET_TX_DESC_ANTLSEL_EN_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1, 3)
#define IE4_GET_TX_DESC_TXPWR_OFSET_TYPE(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x3, 0)
#define IE4_SET_TX_DESC_TXPWR_OFSET_TYPE(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 0)
#define IE4_SET_TX_DESC_TXPWR_OFSET_TYPE_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3, 0)
#define IE5_GET_TX_DESC_IE_END(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 31)
#define IE5_SET_TX_DESC_IE_END(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 31)
#define IE5_SET_TX_DESC_IE_END_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 31)
#define IE5_GET_TX_DESC_IE_UP(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1, 30)
#define IE5_SET_TX_DESC_IE_UP(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 30)
#define IE5_SET_TX_DESC_IE_UP_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1, 30)
#define IE5_GET_TX_DESC_IE_NUM(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0xf, 24)
#define IE5_SET_TX_DESC_IE_NUM(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 24)
#define IE5_SET_TX_DESC_IE_NUM_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 24)
#define IE5_GET_TX_DESC_LEN1_L(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x7f, 17)
#define IE5_SET_TX_DESC_LEN1_L(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x7f, 17)
#define IE5_SET_TX_DESC_LEN1_L_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x7f, 17)
#define IE5_GET_TX_DESC_LEN0(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0x1fff, 4)
#define IE5_SET_TX_DESC_LEN0(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1fff, 4)
#define IE5_SET_TX_DESC_LEN0_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0x1fff, 4)
#define IE5_GET_TX_DESC_PKT_NUM(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, 0xf, 0)
#define IE5_SET_TX_DESC_PKT_NUM(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 0)
#define IE5_SET_TX_DESC_PKT_NUM_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword0, __Value, 0xf, 0)
#define IE5_GET_TX_DESC_LEN3(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x1fff, 19)
#define IE5_SET_TX_DESC_LEN3(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1fff, 19)
#define IE5_SET_TX_DESC_LEN3_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1fff, 19)
#define IE5_GET_TX_DESC_LEN2(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x1fff, 6)
#define IE5_SET_TX_DESC_LEN2(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1fff, 6)
#define IE5_SET_TX_DESC_LEN2_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x1fff, 6)
#define IE5_GET_TX_DESC_LEN1_H(__pTxDescIE)    HALMAC_GET_DESC_FIELD(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, 0x3f, 0)
#define IE5_SET_TX_DESC_LEN1_H(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3f, 0)
#define IE5_SET_TX_DESC_LEN1_H_NO_CLR(__pTxDescIE, __Value)    HALMAC_SET_DESC_FIELD_NO_CLR(((PHALMAC_TX_DESC)__pTxDescIE)->Dword1, __Value, 0x3f, 0)

#endif

#endif
